﻿using System;
using System.Collections.Generic;
using Joy.Erp.BasicArchives.Production;

namespace Joy.Erp.Ufida.Pmc
{
    public class DemandOrderDto
    {
        /// <summary>
        /// 生产订单号
        /// </summary>
        public string DocNo { get; set; }

        /// <summary>
        /// 单据类型
        /// </summary>
        public string DocType { get; set; }

        /// <summary>
        /// 单据状态
        /// </summary>
        public ProductionStatus ProductionStatus { get; set; }

        /// <summary>
        /// //内贸0 外贸1
        /// </summary>
        public int TradeType { get; set; }

        /// <summary>
        /// 番号
        /// </summary>
        public string Seiban { get; set; }

        /// <summary>
        /// 需求分类
        /// </summary>
        public string DemandCode { get; set; }

        /// <summary>
        /// 产品
        /// </summary>
        public Guid ProductItemMasterId { get; set; }

        /// <summary>
        /// 产品料号
        /// </summary>
        public string ProductItemCode { get; set; }

        /// <summary>
        /// 产品名称
        /// </summary>
        public string ProductItemName { get; set; }

        /// <summary>
        /// 产品规格
        /// </summary>
        public string ProductItemSpec { get; set; }

        /// <summary>
        /// 生产数量
        /// </summary>
        public decimal ProductQuantity { get; set; }

        /// <summary>
        /// 完工数量
        /// </summary>
        public decimal ComplatedQuantity { get; set; }

        /// <summary>
        /// 开工日期
        /// </summary>
        public DateTime StartDate { get; set; }

        /// <summary>
        /// 调整后开工日期
        /// </summary>
        public DateTime AdjustedStartDate { get; set; }

        /// <summary>
        /// 备料
        /// </summary>
        public Guid ItemMasterId { get; set; }

        /// <summary>
        /// 备料料号
        /// </summary>
        public string ItemCode { get; set; }

        /// <summary>
        /// 备料名称
        /// </summary>
        public string ItemName { get; set; }

        /// <summary>
        /// 备料规格
        /// </summary>
        public string ItemSpec { get; set; }

        /// <summary>
        /// 备料数量
        /// </summary>
        public decimal Quantity { get; set; }

        /// <summary>
        /// 备料数量
        /// </summary>
        public decimal AdjustedQuantity { get; set; }

        /// <summary>
        /// 已领用数量
        /// </summary>
        public decimal IssuedQuantity { get; set; }

        /// <summary>
        /// 齐套数量
        /// </summary>
        public int? KitCount { get; set; }

        /// <summary>
        /// 齐套状态
        /// </summary>
        public string KitStatus { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Memo { get; set; }

        /// <summary>
        /// 子项集合
        /// </summary>
        public ICollection<DemandOrderDto> Children { get; set; }

        /// <summary>
        /// 分配记录
        /// </summary>
        public ICollection<OccupiedRecordDto> OccupiedRecords { get; set; }
    }
}
